#!/bin/bash
# 在 Ubuntu 18.04 上安装并配置 vsftpd FTP 服务

set -e

echo "1. 更新软件包列表..."
sudo apt-get update

echo "2. 安装 vsftpd..."
sudo apt-get install -y vsftpd

echo "3. 备份原有配置文件..."
sudo cp /etc/vsftpd.conf /etc/vsftpd.conf.bak

echo "4. 配置 vsftpd..."
sudo bash -c 'cat > /etc/vsftpd.conf << EOF
listen=YES
listen_ipv6=NO
anonymous_enable=NO
local_enable=YES
write_enable=YES
chroot_local_user=YES
allow_writeable_chroot=YES
local_umask=022
pasv_enable=YES
pasv_min_port=10000
pasv_max_port=10100
user_sub_token=\$USER
local_root=/home/\$USER/ftp
EOF'

echo "5. 创建 FTP 目录（如果需要）..."
sudo mkdir -p ~/ftp
sudo chown $(whoami):$(whoami) ~/ftp

echo "6. 重启 vsftpd 服务..."
sudo systemctl restart vsftpd

echo "7. 设置开机自启..."
sudo systemctl enable vsftpd

echo "8. 配置 UFW 防火墙（如果启用）..."
if sudo ufw status | grep -q "Status: active"; then
    sudo ufw allow 20/tcp
    sudo ufw allow 21/tcp
    sudo ufw allow 10000:10100/tcp
    echo "已开放FTP端口（20、21和10000-10100）"
else
    echo "UFW防火墙未启用，跳过端口设置。"
fi

echo "FTP服务安装和基础配置完成！"
echo "请用本机用户登录FTP，FTP根目录为 ~/ftp"
